package com.it.test;

import java.util.Scanner;

public class test5 {
    public static void main(String[] args) {
        //在唱歌比赛中，有6个评委给选手打分，分数范围[0~100]之间的整数
        //选手的最后得分为：去掉最高分，最低分的4个评委的平均值，

        //分析：
        //1.定义一个数组，用来存储6个评委的打分
        int[] scores = getscores();
        /*for (int i = 0; i < scores.length; i++) {
            System.out.println(scores[i]);
        }*/
        //2.求数组的最大值
        int max = getMax(scores);
        //System.out.println(max);
        //3.求数组的最小值
        int min = getMin(scores);
        //4，求数组中6个数的总和
        int add = getAdd(scores);
        //System.out.println(add);

        //5.平均值：（总数-最大值-最小值）/4
        int avg = (add - min - max)/(scores.length - 2);

    }
    //求6个数之和
    public static int getAdd(int[] scores) {
        int add = 0;
        for (int i = 0; i < scores.length; i++) {
            add+=scores[i];
        }
        return add;
    }
    //求最小值
    public static int getMin(int[] scores) {
        int min = scores[0];
        for (int i = 0; i < scores.length; i++) {
            if (scores[i] < min) {
                min = scores[i];
            }
        }
        return min;
    }
    //求最大值
    public static int getMax(int[] scores) {
        int max = scores[0];
        for (int i = 0; i < scores.length; i++) {
            if (scores[i] > max) {
                max = scores[i];
            }
        }
        return max;
    }
    //1.我要干嘛？定义一个数组，用来存储6个评委的打分（0~100
    //2.我需要什么？不需要
    //3.干完了这件事情，是否需要返回值？需要
    public static int[] getscores(){
        //定义数组
        int[] scores = new int[6];
        Scanner sc = new Scanner(System.in);
        //使用键盘录入
        for (int i = 0; i < 6; ) {
            System.out.println("请输入评委的打分：");
            int score = sc.nextInt();
            if(score >= 0 && score < 100) {
                scores[i] = score;
                i++;//使得当输入的成绩有效时，才会累加
            }else{
                System.out.println("成绩超出范围，请重新录入，当前的i为"+i);
            }
        }
        return scores;
    }
}
